An embedded system, in general, refers to a combination of hardware and software that is specifically designed for a particular application or purpose. One example of a hardware platform that can be used to implement an embedded system is an integrated circuit such as, e.g., a programmable integrated circuit device (programmable IC). Programmable ICs that incorporate a processor capable of executing program code provide particularly robust platforms upon which an embedded system can be built.
Prior to use within any specific application, a programmable IC must undergo an initialization process where the device is configured to implement a particular circuit design. Those programmable ICs that include a processor must also undergo a boot process for the operating system to be executed by the processor. During the boot process, the processor detects any peripheral devices attached thereto and initializes the detected peripheral devices for use. This process, however, can take a significant amount of time, e.g., on the order of several minutes for a modern operating system, and is undesirable within an embedded system.